package com.openseedbox.plugins.isohunt; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.openseedbox.code.Util; import com.openseedbox.plugins.OpenseedboxPlugin; import java.util.ArrayList; import java.util.List; import com.openseedbox.models.User; import play.libs.WS; import play.libs.WS.HttpResponse; public class IsohuntSearchPlugin extends OpenseedboxPlugin { public IsohuntSearchPlugin(User u) { super(u); } @Override public String getPluginName() { return "Isohunt Search"; } @Override public boolean isSearchPlugin() { return true; } @Override public List<PluginSearchResult> doSearch(String terms) { List<PluginSearchResult> ret = new ArrayList<PluginSearchResult>(); HttpResponse res = WS.url("http://ca.isohunt.com/js/json.php?ihq=%s&rows=20&sort=seeds", terms).get(); if (res.getJson() != null) { JsonObject itemsObject = res.getJson().getAsJsonObject().getAsJsonObject("items"); if (itemsObject != null) { JsonArray items = itemsObject.getAsJsonArray("list"); for (JsonElement i : items) { JsonObject it = i.getAsJsonObject(); PluginSearchResult psr = new PluginSearchResult(); psr.setTorrentName(Util.stripHtml(it.get("title").getAsString())); psr.setTorrentUrl(it.get("enclosure_url").getAsString()); psr.setCurrentPeers(it.get("leechers").getAsString()); psr.setCurrentSeeders(it.get("Seeds").getAsString()); psr.setFileSize(Util.getBestRate(it.get("length").getAsLong())); ret.add(psr); } } } return ret; } }